le(0, y, z) → greater(y, z)
le(s(x), 0, z) → false
le(s(x), s(y), 0) → false
le(s(x), s(y), s(z)) → le(x, y, z)
greater(x, 0) → first
greater(0, s(y)) → second
greater(s(x), s(y)) → greater(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
triple(x) → if(le(x, x, double(x)), x, 0, 0)
if(false, x, y, z) → true
if(first, x, y, z) → if(le(s(x), y, s(z)), s(x), y, s(z))
if(second, x, y, z) → if(le(s(x), s(y), z), s(x), s(y), z)
↳ QTRS
↳ AAECC Innermost
le(0, y, z) → greater(y, z)
le(s(x), 0, z) → false
le(s(x), s(y), 0) → false
le(s(x), s(y), s(z)) → le(x, y, z)
greater(x, 0) → first
greater(0, s(y)) → second
greater(s(x), s(y)) → greater(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
triple(x) → if(le(x, x, double(x)), x, 0, 0)
if(false, x, y, z) → true
if(first, x, y, z) → if(le(s(x), y, s(z)), s(x), y, s(z))
if(second, x, y, z) → if(le(s(x), s(y), z), s(x), s(y), z)
double(0) → 0
double(s(x)) → s(s(double(x)))
le(0, y, z) → greater(y, z)
le(s(x), 0, z) → false
le(s(x), s(y), 0) → false
le(s(x), s(y), s(z)) → le(x, y, z)
greater(x, 0) → first
greater(0, s(y)) → second
greater(s(x), s(y)) → greater(x, y)
triple(x) → if(le(x, x, double(x)), x, 0, 0)
if(false, x, y, z) → true
if(first, x, y, z) → if(le(s(x), y, s(z)), s(x), y, s(z))
if(second, x, y, z) → if(le(s(x), s(y), z), s(x), s(y), z)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
le(0, y, z) → greater(y, z)
le(s(x), 0, z) → false
le(s(x), s(y), 0) → false
le(s(x), s(y), s(z)) → le(x, y, z)
greater(x, 0) → first
greater(0, s(y)) → second
greater(s(x), s(y)) → greater(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
triple(x) → if(le(x, x, double(x)), x, 0, 0)
if(false, x, y, z) → true
if(first, x, y, z) → if(le(s(x), y, s(z)), s(x), y, s(z))
if(second, x, y, z) → if(le(s(x), s(y), z), s(x), s(y), z)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
IF(first, x, y, z) → IF(le(s(x), y, s(z)), s(x), y, s(z))
LE(0, y, z) → GREATER(y, z)
GREATER(s(x), s(y)) → GREATER(x, y)
TRIPLE(x) → DOUBLE(x)
TRIPLE(x) → LE(x, x, double(x))
LE(s(x), s(y), s(z)) → LE(x, y, z)
DOUBLE(s(x)) → DOUBLE(x)
IF(first, x, y, z) → LE(s(x), y, s(z))
IF(second, x, y, z) → LE(s(x), s(y), z)
IF(second, x, y, z) → IF(le(s(x), s(y), z), s(x), s(y), z)
TRIPLE(x) → IF(le(x, x, double(x)), x, 0, 0)
le(0, y, z) → greater(y, z)
le(s(x), 0, z) → false
le(s(x), s(y), 0) → false
le(s(x), s(y), s(z)) → le(x, y, z)
greater(x, 0) → first
greater(0, s(y)) → second
greater(s(x), s(y)) → greater(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
triple(x) → if(le(x, x, double(x)), x, 0, 0)
if(false, x, y, z) → true
if(first, x, y, z) → if(le(s(x), y, s(z)), s(x), y, s(z))
if(second, x, y, z) → if(le(s(x), s(y), z), s(x), s(y), z)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
IF(first, x, y, z) → IF(le(s(x), y, s(z)), s(x), y, s(z))
LE(0, y, z) → GREATER(y, z)
GREATER(s(x), s(y)) → GREATER(x, y)
TRIPLE(x) → DOUBLE(x)
TRIPLE(x) → LE(x, x, double(x))
LE(s(x), s(y), s(z)) → LE(x, y, z)
DOUBLE(s(x)) → DOUBLE(x)
IF(first, x, y, z) → LE(s(x), y, s(z))
IF(second, x, y, z) → LE(s(x), s(y), z)
IF(second, x, y, z) → IF(le(s(x), s(y), z), s(x), s(y), z)
TRIPLE(x) → IF(le(x, x, double(x)), x, 0, 0)
le(0, y, z) → greater(y, z)
le(s(x), 0, z) → false
le(s(x), s(y), 0) → false
le(s(x), s(y), s(z)) → le(x, y, z)
greater(x, 0) → first
greater(0, s(y)) → second
greater(s(x), s(y)) → greater(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
triple(x) → if(le(x, x, double(x)), x, 0, 0)
if(false, x, y, z) → true
if(first, x, y, z) → if(le(s(x), y, s(z)), s(x), y, s(z))
if(second, x, y, z) → if(le(s(x), s(y), z), s(x), s(y), z)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
DOUBLE(s(x)) → DOUBLE(x)
le(0, y, z) → greater(y, z)
le(s(x), 0, z) → false
le(s(x), s(y), 0) → false
le(s(x), s(y), s(z)) → le(x, y, z)
greater(x, 0) → first
greater(0, s(y)) → second
greater(s(x), s(y)) → greater(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
triple(x) → if(le(x, x, double(x)), x, 0, 0)
if(false, x, y, z) → true
if(first, x, y, z) → if(le(s(x), y, s(z)), s(x), y, s(z))
if(second, x, y, z) → if(le(s(x), s(y), z), s(x), s(y), z)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
DOUBLE(s(x)) → DOUBLE(x)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
DOUBLE(s(x)) → DOUBLE(x)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
GREATER(s(x), s(y)) → GREATER(x, y)
le(0, y, z) → greater(y, z)
le(s(x), 0, z) → false
le(s(x), s(y), 0) → false
le(s(x), s(y), s(z)) → le(x, y, z)
greater(x, 0) → first
greater(0, s(y)) → second
greater(s(x), s(y)) → greater(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
triple(x) → if(le(x, x, double(x)), x, 0, 0)
if(false, x, y, z) → true
if(first, x, y, z) → if(le(s(x), y, s(z)), s(x), y, s(z))
if(second, x, y, z) → if(le(s(x), s(y), z), s(x), s(y), z)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
GREATER(s(x), s(y)) → GREATER(x, y)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
GREATER(s(x), s(y)) → GREATER(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
LE(s(x), s(y), s(z)) → LE(x, y, z)
le(0, y, z) → greater(y, z)
le(s(x), 0, z) → false
le(s(x), s(y), 0) → false
le(s(x), s(y), s(z)) → le(x, y, z)
greater(x, 0) → first
greater(0, s(y)) → second
greater(s(x), s(y)) → greater(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
triple(x) → if(le(x, x, double(x)), x, 0, 0)
if(false, x, y, z) → true
if(first, x, y, z) → if(le(s(x), y, s(z)), s(x), y, s(z))
if(second, x, y, z) → if(le(s(x), s(y), z), s(x), s(y), z)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
LE(s(x), s(y), s(z)) → LE(x, y, z)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
LE(s(x), s(y), s(z)) → LE(x, y, z)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
IF(first, x, y, z) → IF(le(s(x), y, s(z)), s(x), y, s(z))
IF(second, x, y, z) → IF(le(s(x), s(y), z), s(x), s(y), z)
le(0, y, z) → greater(y, z)
le(s(x), 0, z) → false
le(s(x), s(y), 0) → false
le(s(x), s(y), s(z)) → le(x, y, z)
greater(x, 0) → first
greater(0, s(y)) → second
greater(s(x), s(y)) → greater(x, y)
double(0) → 0
double(s(x)) → s(s(double(x)))
triple(x) → if(le(x, x, double(x)), x, 0, 0)
if(false, x, y, z) → true
if(first, x, y, z) → if(le(s(x), y, s(z)), s(x), y, s(z))
if(second, x, y, z) → if(le(s(x), s(y), z), s(x), s(y), z)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
IF(first, x, y, z) → IF(le(s(x), y, s(z)), s(x), y, s(z))
IF(second, x, y, z) → IF(le(s(x), s(y), z), s(x), s(y), z)
le(s(x), s(y), 0) → false
le(s(x), s(y), s(z)) → le(x, y, z)
le(0, y, z) → greater(y, z)
le(s(x), 0, z) → false
greater(x, 0) → first
greater(0, s(y)) → second
greater(s(x), s(y)) → greater(x, y)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
double(0)
double(s(x0))
triple(x0)
if(false, x0, x1, x2)
if(first, x0, x1, x2)
if(second, x0, x1, x2)
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ NonInfProof
IF(first, x, y, z) → IF(le(s(x), y, s(z)), s(x), y, s(z))
IF(second, x, y, z) → IF(le(s(x), s(y), z), s(x), s(y), z)
le(s(x), s(y), 0) → false
le(s(x), s(y), s(z)) → le(x, y, z)
le(0, y, z) → greater(y, z)
le(s(x), 0, z) → false
greater(x, 0) → first
greater(0, s(y)) → second
greater(s(x), s(y)) → greater(x, y)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
(1) (IF(le(s(x0), x1, s(x2)), s(x0), x1, s(x2))=IF(first, x3, x4, x5) ⇒ IF(first, x3, x4, x5)≥IF(le(s(x3), x4, s(x5)), s(x3), x4, s(x5)))
(2) (s(x0)=x24∧s(x2)=x25∧le(x24, x1, x25)=first ⇒ IF(first, s(x0), x1, s(x2))≥IF(le(s(s(x0)), x1, s(s(x2))), s(s(x0)), x1, s(s(x2))))
(3) (le(x28, x29, x30)=first∧s(x0)=s(x28)∧s(x2)=s(x30)∧(∀x31,x32:le(x28, x29, x30)=first∧s(x31)=x28∧s(x32)=x30 ⇒ IF(first, s(x31), x29, s(x32))≥IF(le(s(s(x31)), x29, s(s(x32))), s(s(x31)), x29, s(s(x32)))) ⇒ IF(first, s(x0), s(x29), s(x2))≥IF(le(s(s(x0)), s(x29), s(s(x2))), s(s(x0)), s(x29), s(s(x2))))
(4) (greater(x33, x34)=first∧s(x0)=0∧s(x2)=x34 ⇒ IF(first, s(x0), x33, s(x2))≥IF(le(s(s(x0)), x33, s(s(x2))), s(s(x0)), x33, s(s(x2))))
(5) (le(x28, x29, x30)=first ⇒ IF(first, s(x28), s(x29), s(x30))≥IF(le(s(s(x28)), s(x29), s(s(x30))), s(s(x28)), s(x29), s(s(x30))))
(6) (le(x39, x40, x41)=first∧(le(x39, x40, x41)=first ⇒ IF(first, s(x39), s(x40), s(x41))≥IF(le(s(s(x39)), s(x40), s(s(x41))), s(s(x39)), s(x40), s(s(x41)))) ⇒ IF(first, s(s(x39)), s(s(x40)), s(s(x41)))≥IF(le(s(s(s(x39))), s(s(x40)), s(s(s(x41)))), s(s(s(x39))), s(s(x40)), s(s(s(x41)))))
(7) (greater(x42, x43)=first ⇒ IF(first, s(0), s(x42), s(x43))≥IF(le(s(s(0)), s(x42), s(s(x43))), s(s(0)), s(x42), s(s(x43))))
(8) (IF(first, s(x39), s(x40), s(x41))≥IF(le(s(s(x39)), s(x40), s(s(x41))), s(s(x39)), s(x40), s(s(x41))) ⇒ IF(first, s(s(x39)), s(s(x40)), s(s(x41)))≥IF(le(s(s(s(x39))), s(s(x40)), s(s(s(x41)))), s(s(s(x39))), s(s(x40)), s(s(s(x41)))))
(9) (IF(first, s(0), s(x42), s(x43))≥IF(le(s(s(0)), s(x42), s(s(x43))), s(s(0)), s(x42), s(s(x43))))
(10) (IF(le(s(x6), s(x7), x8), s(x6), s(x7), x8)=IF(first, x9, x10, x11) ⇒ IF(first, x9, x10, x11)≥IF(le(s(x9), x10, s(x11)), s(x9), x10, s(x11)))
(11) (s(x6)=x46∧s(x7)=x47∧le(x46, x47, x8)=first ⇒ IF(first, s(x6), s(x7), x8)≥IF(le(s(s(x6)), s(x7), s(x8)), s(s(x6)), s(x7), s(x8)))
(12) (le(x50, x51, x52)=first∧s(x6)=s(x50)∧s(x7)=s(x51)∧(∀x53,x54:le(x50, x51, x52)=first∧s(x53)=x50∧s(x54)=x51 ⇒ IF(first, s(x53), s(x54), x52)≥IF(le(s(s(x53)), s(x54), s(x52)), s(s(x53)), s(x54), s(x52))) ⇒ IF(first, s(x6), s(x7), s(x52))≥IF(le(s(s(x6)), s(x7), s(s(x52))), s(s(x6)), s(x7), s(s(x52))))
(13) (greater(x55, x56)=first∧s(x6)=0∧s(x7)=x55 ⇒ IF(first, s(x6), s(x7), x56)≥IF(le(s(s(x6)), s(x7), s(x56)), s(s(x6)), s(x7), s(x56)))
(14) (le(x50, x51, x52)=first ⇒ IF(first, s(x50), s(x51), s(x52))≥IF(le(s(s(x50)), s(x51), s(s(x52))), s(s(x50)), s(x51), s(s(x52))))
(15) (le(x61, x62, x63)=first∧(le(x61, x62, x63)=first ⇒ IF(first, s(x61), s(x62), s(x63))≥IF(le(s(s(x61)), s(x62), s(s(x63))), s(s(x61)), s(x62), s(s(x63)))) ⇒ IF(first, s(s(x61)), s(s(x62)), s(s(x63)))≥IF(le(s(s(s(x61))), s(s(x62)), s(s(s(x63)))), s(s(s(x61))), s(s(x62)), s(s(s(x63)))))
(16) (greater(x64, x65)=first ⇒ IF(first, s(0), s(x64), s(x65))≥IF(le(s(s(0)), s(x64), s(s(x65))), s(s(0)), s(x64), s(s(x65))))
(17) (IF(first, s(x61), s(x62), s(x63))≥IF(le(s(s(x61)), s(x62), s(s(x63))), s(s(x61)), s(x62), s(s(x63))) ⇒ IF(first, s(s(x61)), s(s(x62)), s(s(x63)))≥IF(le(s(s(s(x61))), s(s(x62)), s(s(s(x63)))), s(s(s(x61))), s(s(x62)), s(s(s(x63)))))
(18) (IF(first, s(0), s(x64), s(x65))≥IF(le(s(s(0)), s(x64), s(s(x65))), s(s(0)), s(x64), s(s(x65))))
(19) (IF(le(s(x12), x13, s(x14)), s(x12), x13, s(x14))=IF(second, x15, x16, x17) ⇒ IF(second, x15, x16, x17)≥IF(le(s(x15), s(x16), x17), s(x15), s(x16), x17))
(20) (s(x12)=x68∧s(x14)=x69∧le(x68, x13, x69)=second ⇒ IF(second, s(x12), x13, s(x14))≥IF(le(s(s(x12)), s(x13), s(x14)), s(s(x12)), s(x13), s(x14)))
(21) (le(x72, x73, x74)=second∧s(x12)=s(x72)∧s(x14)=s(x74)∧(∀x75,x76:le(x72, x73, x74)=second∧s(x75)=x72∧s(x76)=x74 ⇒ IF(second, s(x75), x73, s(x76))≥IF(le(s(s(x75)), s(x73), s(x76)), s(s(x75)), s(x73), s(x76))) ⇒ IF(second, s(x12), s(x73), s(x14))≥IF(le(s(s(x12)), s(s(x73)), s(x14)), s(s(x12)), s(s(x73)), s(x14)))
(22) (greater(x77, x78)=second∧s(x12)=0∧s(x14)=x78 ⇒ IF(second, s(x12), x77, s(x14))≥IF(le(s(s(x12)), s(x77), s(x14)), s(s(x12)), s(x77), s(x14)))
(23) (le(x72, x73, x74)=second ⇒ IF(second, s(x72), s(x73), s(x74))≥IF(le(s(s(x72)), s(s(x73)), s(x74)), s(s(x72)), s(s(x73)), s(x74)))
(24) (le(x83, x84, x85)=second∧(le(x83, x84, x85)=second ⇒ IF(second, s(x83), s(x84), s(x85))≥IF(le(s(s(x83)), s(s(x84)), s(x85)), s(s(x83)), s(s(x84)), s(x85))) ⇒ IF(second, s(s(x83)), s(s(x84)), s(s(x85)))≥IF(le(s(s(s(x83))), s(s(s(x84))), s(s(x85))), s(s(s(x83))), s(s(s(x84))), s(s(x85))))
(25) (greater(x86, x87)=second ⇒ IF(second, s(0), s(x86), s(x87))≥IF(le(s(s(0)), s(s(x86)), s(x87)), s(s(0)), s(s(x86)), s(x87)))
(26) (IF(second, s(x83), s(x84), s(x85))≥IF(le(s(s(x83)), s(s(x84)), s(x85)), s(s(x83)), s(s(x84)), s(x85)) ⇒ IF(second, s(s(x83)), s(s(x84)), s(s(x85)))≥IF(le(s(s(s(x83))), s(s(s(x84))), s(s(x85))), s(s(s(x83))), s(s(s(x84))), s(s(x85))))
(27) (IF(second, s(0), s(x86), s(x87))≥IF(le(s(s(0)), s(s(x86)), s(x87)), s(s(0)), s(s(x86)), s(x87)))
(28) (IF(le(s(x18), s(x19), x20), s(x18), s(x19), x20)=IF(second, x21, x22, x23) ⇒ IF(second, x21, x22, x23)≥IF(le(s(x21), s(x22), x23), s(x21), s(x22), x23))
(29) (s(x18)=x90∧s(x19)=x91∧le(x90, x91, x20)=second ⇒ IF(second, s(x18), s(x19), x20)≥IF(le(s(s(x18)), s(s(x19)), x20), s(s(x18)), s(s(x19)), x20))
(30) (le(x94, x95, x96)=second∧s(x18)=s(x94)∧s(x19)=s(x95)∧(∀x97,x98:le(x94, x95, x96)=second∧s(x97)=x94∧s(x98)=x95 ⇒ IF(second, s(x97), s(x98), x96)≥IF(le(s(s(x97)), s(s(x98)), x96), s(s(x97)), s(s(x98)), x96)) ⇒ IF(second, s(x18), s(x19), s(x96))≥IF(le(s(s(x18)), s(s(x19)), s(x96)), s(s(x18)), s(s(x19)), s(x96)))
(31) (greater(x99, x100)=second∧s(x18)=0∧s(x19)=x99 ⇒ IF(second, s(x18), s(x19), x100)≥IF(le(s(s(x18)), s(s(x19)), x100), s(s(x18)), s(s(x19)), x100))
(32) (le(x94, x95, x96)=second ⇒ IF(second, s(x94), s(x95), s(x96))≥IF(le(s(s(x94)), s(s(x95)), s(x96)), s(s(x94)), s(s(x95)), s(x96)))
(33) (le(x105, x106, x107)=second∧(le(x105, x106, x107)=second ⇒ IF(second, s(x105), s(x106), s(x107))≥IF(le(s(s(x105)), s(s(x106)), s(x107)), s(s(x105)), s(s(x106)), s(x107))) ⇒ IF(second, s(s(x105)), s(s(x106)), s(s(x107)))≥IF(le(s(s(s(x105))), s(s(s(x106))), s(s(x107))), s(s(s(x105))), s(s(s(x106))), s(s(x107))))
(34) (greater(x108, x109)=second ⇒ IF(second, s(0), s(x108), s(x109))≥IF(le(s(s(0)), s(s(x108)), s(x109)), s(s(0)), s(s(x108)), s(x109)))
(35) (IF(second, s(x105), s(x106), s(x107))≥IF(le(s(s(x105)), s(s(x106)), s(x107)), s(s(x105)), s(s(x106)), s(x107)) ⇒ IF(second, s(s(x105)), s(s(x106)), s(s(x107)))≥IF(le(s(s(s(x105))), s(s(s(x106))), s(s(x107))), s(s(s(x105))), s(s(s(x106))), s(s(x107))))
(36) (IF(second, s(0), s(x108), s(x109))≥IF(le(s(s(0)), s(s(x108)), s(x109)), s(s(0)), s(s(x108)), s(x109)))
POL(0) = 0
POL(IF(x1, x2, x3, x4)) = -1 - x1 - x2 + x4
POL(c) = -1
POL(false) = 1
POL(first) = 0
POL(greater(x1, x2)) = 0
POL(le(x1, x2, x3)) = 0
POL(s(x1)) = 1 + x1
POL(second) = 0
The following pairs are in Pbound:
IF(second, x, y, z) → IF(le(s(x), s(y), z), s(x), s(y), z)
The following rules are usable:
IF(first, x, y, z) → IF(le(s(x), y, s(z)), s(x), y, s(z))
IF(second, x, y, z) → IF(le(s(x), s(y), z), s(x), s(y), z)
greater(y, z) → le(0, y, z)
false → le(s(x), 0, z)
false → le(s(x), s(y), 0)
le(x, y, z) → le(s(x), s(y), s(z))
greater(x, y) → greater(s(x), s(y))
first → greater(x, 0)
second → greater(0, s(y))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ NonInfProof
IF(first, x, y, z) → IF(le(s(x), y, s(z)), s(x), y, s(z))
le(s(x), s(y), 0) → false
le(s(x), s(y), s(z)) → le(x, y, z)
le(0, y, z) → greater(y, z)
le(s(x), 0, z) → false
greater(x, 0) → first
greater(0, s(y)) → second
greater(s(x), s(y)) → greater(x, y)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))
(1) (IF(le(s(x0), x1, s(x2)), s(x0), x1, s(x2))=IF(first, x3, x4, x5) ⇒ IF(first, x3, x4, x5)≥IF(le(s(x3), x4, s(x5)), s(x3), x4, s(x5)))
(2) (s(x0)=x24∧s(x2)=x25∧le(x24, x1, x25)=first ⇒ IF(first, s(x0), x1, s(x2))≥IF(le(s(s(x0)), x1, s(s(x2))), s(s(x0)), x1, s(s(x2))))
(3) (le(x28, x29, x30)=first∧s(x0)=s(x28)∧s(x2)=s(x30)∧(∀x31,x32:le(x28, x29, x30)=first∧s(x31)=x28∧s(x32)=x30 ⇒ IF(first, s(x31), x29, s(x32))≥IF(le(s(s(x31)), x29, s(s(x32))), s(s(x31)), x29, s(s(x32)))) ⇒ IF(first, s(x0), s(x29), s(x2))≥IF(le(s(s(x0)), s(x29), s(s(x2))), s(s(x0)), s(x29), s(s(x2))))
(4) (greater(x33, x34)=first∧s(x0)=0∧s(x2)=x34 ⇒ IF(first, s(x0), x33, s(x2))≥IF(le(s(s(x0)), x33, s(s(x2))), s(s(x0)), x33, s(s(x2))))
(5) (le(x28, x29, x30)=first ⇒ IF(first, s(x28), s(x29), s(x30))≥IF(le(s(s(x28)), s(x29), s(s(x30))), s(s(x28)), s(x29), s(s(x30))))
(6) (le(x39, x40, x41)=first∧(le(x39, x40, x41)=first ⇒ IF(first, s(x39), s(x40), s(x41))≥IF(le(s(s(x39)), s(x40), s(s(x41))), s(s(x39)), s(x40), s(s(x41)))) ⇒ IF(first, s(s(x39)), s(s(x40)), s(s(x41)))≥IF(le(s(s(s(x39))), s(s(x40)), s(s(s(x41)))), s(s(s(x39))), s(s(x40)), s(s(s(x41)))))
(7) (greater(x42, x43)=first ⇒ IF(first, s(0), s(x42), s(x43))≥IF(le(s(s(0)), s(x42), s(s(x43))), s(s(0)), s(x42), s(s(x43))))
(8) (IF(first, s(x39), s(x40), s(x41))≥IF(le(s(s(x39)), s(x40), s(s(x41))), s(s(x39)), s(x40), s(s(x41))) ⇒ IF(first, s(s(x39)), s(s(x40)), s(s(x41)))≥IF(le(s(s(s(x39))), s(s(x40)), s(s(s(x41)))), s(s(s(x39))), s(s(x40)), s(s(s(x41)))))
(9) (IF(first, s(0), s(x42), s(x43))≥IF(le(s(s(0)), s(x42), s(s(x43))), s(s(0)), s(x42), s(s(x43))))
POL(0) = 0
POL(IF(x1, x2, x3, x4)) = -1 - x1 - x2 + x3
POL(c) = -1
POL(false) = 0
POL(first) = 0
POL(greater(x1, x2)) = 0
POL(le(x1, x2, x3)) = 0
POL(s(x1)) = 1 + x1
POL(second) = 0
The following pairs are in Pbound:
IF(first, x, y, z) → IF(le(s(x), y, s(z)), s(x), y, s(z))
The following rules are usable:
IF(first, x, y, z) → IF(le(s(x), y, s(z)), s(x), y, s(z))
greater(y, z) → le(0, y, z)
false → le(s(x), 0, z)
false → le(s(x), s(y), 0)
le(x, y, z) → le(s(x), s(y), s(z))
greater(x, y) → greater(s(x), s(y))
first → greater(x, 0)
second → greater(0, s(y))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ NonInfProof
↳ QDP
↳ PisEmptyProof
le(s(x), s(y), 0) → false
le(s(x), s(y), s(z)) → le(x, y, z)
le(0, y, z) → greater(y, z)
le(s(x), 0, z) → false
greater(x, 0) → first
greater(0, s(y)) → second
greater(s(x), s(y)) → greater(x, y)
le(0, x0, x1)
le(s(x0), 0, x1)
le(s(x0), s(x1), 0)
le(s(x0), s(x1), s(x2))
greater(x0, 0)
greater(0, s(x0))
greater(s(x0), s(x1))